package com.coscoshipping.rams.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhaoyin.yang
 * @since 2025-01-15
 */
@Getter
@Setter
@TableName("block_header")
@Schema(name = "BlockHeader", description = "")
public class BlockHeader implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "预留号")
    @TableId(value = "blockcode", type = IdType.AUTO)
    private String blockcode;

    @TableField("usercode")
    private String usercode;

    @TableField("blockname")
    private String blockname;

    @TableField("descript")
    private String descript;

    @TableField("hotelid")
    private String hotelid;

    @TableField("channel")
    private String channel;

    @TableField("effectbegin")
    private LocalDateTime effectbegin;

    @TableField("effectend")
    private LocalDateTime effectend;

    @TableField("limitcustom")
    private String limitcustom;

    @TableField("cutoffdate")
    private LocalDateTime cutoffdate;

    @TableField("cutoffdays")
    private Integer cutoffdays;

    @Schema(description = "包括N（初始），I（激活），X（取消），和渠道状态使用同一种代码")
    @TableField("blocksta")
    private String blocksta;

    @Schema(description = "每天到这个点去获取相应的符合日期的detail去释放	4位，24小时制")
    @TableField("releasetime")
    private Integer releasetime;

    @Schema(description = "在此时间之后，释放时间之前的BLOCK预订取消时回到公共平台")
    @TableField("buffertime")
    private Integer buffertime;

    @TableField("creator")
    private String creator;

    @TableField("crttime")
    private LocalDateTime crttime;

    @TableField("cby")
    private String cby;

    @TableField("changed")
    private LocalDateTime changed;

    @TableField("seq")
    private Integer seq;

    @TableField("logmark")
    private Integer logmark;

    @TableField("flexible")
    private String flexible;

    @Schema(description = "0,1,2	0--集团")
    @TableField("sign")
    private Integer sign;

    @TableField("ratecode")
    private String ratecode;

    @TableField("packages")
    private String packages;

    @Schema(description = "1标识确定占房，0标识不确定。")
    @TableField("deduct")
    private Integer deduct;

    @TableField("crsblockcode")
    private String crsblockcode;

    public static final String BLOCKCODE = "blockcode";

    public static final String USERCODE = "usercode";

    public static final String BLOCKNAME = "blockname";

    public static final String DESCRIPT = "descript";

    public static final String HOTELID = "hotelid";

    public static final String CHANNEL = "channel";

    public static final String EFFECTBEGIN = "effectbegin";

    public static final String EFFECTEND = "effectend";

    public static final String LIMITCUSTOM = "limitcustom";

    public static final String CUTOFFDATE = "cutoffdate";

    public static final String CUTOFFDAYS = "cutoffdays";

    public static final String BLOCKSTA = "blocksta";

    public static final String RELEASETIME = "releasetime";

    public static final String BUFFERTIME = "buffertime";

    public static final String CREATOR = "creator";

    public static final String CRTTIME = "crttime";

    public static final String CBY = "cby";

    public static final String CHANGED = "changed";

    public static final String SEQ = "seq";

    public static final String LOGMARK = "logmark";

    public static final String FLEXIBLE = "flexible";

    public static final String SIGN = "sign";

    public static final String RATECODE = "ratecode";

    public static final String PACKAGES = "packages";

    public static final String DEDUCT = "deduct";

    public static final String CRSBLOCKCODE = "crsblockcode";
}
